home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / t_os / vil / vil.bas < prev    next >
Encoding:
BASIC Source File  |  1993-11-30  |  4.5 KB  |  83 lines

  1. 100 '--------------------  VIL組み込み開始 --------------------
  2. 110 CLEAR ,,512,1024*700,0,0                      'メモリ領域設定
  3. 120 SCREEN 0:CLS
  4. 130 VIL_W0%=0:VIL_W1%=0:VIL_W2%=0:VIL_W3%=0:VIL_W4%=0  '汎用ワーク変数
  5. 140 VIL_W5%=0:VIL_W6%=0:VIL_W7%=0:VIL_W8%=0:VIL_W9%=0
  6. 150 VIL_W0&=0:VIL_W1&=0:VIL_W2&=0:VIL_W3&=0:VIL_W4&=0  '汎用ワーク変数
  7. 160 VIL_W5&=0:VIL_W6&=0:VIL_W7&=0:VIL_W8&=0:VIL_W9&=0
  8. 170 VIL_W0$="":VIL_W1$="":VIL_W2$="":VIL_W3$=""
  9. 180 VIL_I%=0:VIL_J%=0:VIL_K%=0                    'ループ変数
  10. 190 VIL_L%=0                                      '長さ
  11. 200 VIL_A$=""                                     '文字列汎用
  12. 210 VIL_F$=""                                     'ファイル名汎用
  13. 220 VIL_C%=15:VIL_CB%=0                           '描画色・背景色(0..15)
  14. 230 VIL_X%=0:VIL_Y%=0:VIL_W%=0:VIL_Z%=0           '左上隅・右下隅座標
  15. 240 VIL_XL%=0:VIL_YL%=0:VIL_XN%=0:VIL_YN%=0       'X・Y軸方向長さ・個数
  16. 250 VIL_P%=0                                      'パレット番号
  17. 260 VIL_KN%=0                                     '入力番号
  18. 270 VIL_K$="":VIL_KY%=0                           '入力キー,アスキーコード
  19. 280 VIL_MX%=0:VIL_MY%=0:VIL_MW%=0:VIL_MZ%=0       'マウス位置
  20. 290 '
  21. 300 VIL_E%=0                                      'エラー番号
  22. 310 VIL_DIR$=""                                   'VILディレクトリ
  23. 320 VIL_FMTDIR$=""                                'FMTITLEディレクトリ
  24. 330 VIL_VER%=200                                  'VIL VER2.00
  25. 340 '
  26. 350 *VIL_CNF                              '設定ファイル"VIL.CNF"読込
  27. 360 PRINT"Searching "+CHR$(34)+"VIL.CNF"+CHR$(34)
  28. 370 PRINT"Searching current directory"
  29. 380 GOSUB *VIL_ERR_ON:VIL_E%=0
  30. 390 OPEN "I",#1,"VIL.CNF"                 'カレントディレクトリを探す
  31. 400 IF VIL_E%=63 THEN
  32. 410   PRINT"Searching root directory"
  33. 420   VIL_E%=0
  34. 430   OPEN "I",#1,"\VIL.CNF"              'ルートディレクトリを探す
  35. 440   IF VIL_E%=63 THEN                    '見つからなければ設定中止
  36. 450     PRINT"WARNING:"+CHR$(34)+"VIL.CNF"+CHR$(34)+" not found"
  37. 460     GOTO *VIL_L_BGN
  38. 470   ENDIF
  39. 480 ENDIF
  40. 490 PRINT"Reading "+CHR$(34)+"VIL.CNF"+CHR$(34)
  41. 500 WHILE EOF(1)=0
  42. 510   LINE INPUT #1,VIL_W0$
  43. 520   IF LEFT$(VIL_W0$,1)<>"'" THEN              'コメント行スキップ
  44. 530     IF INSTR(VIL_W0$,"VILDIR") THEN          'VILディレクトリ設定
  45. 540       VIL_DIR$=MID$(VIL_W0$,INSTR(VIL_W0$,"=")+1)
  46. 550     ELSE IF INSTR(VIL_W0$,"FMTITLEDIR") THEN 'FMTITLEディレクトリ設定
  47. 560       VIL_FMTDIR$=MID$(VIL_W0$,INSTR(VIL_W0$,"=")+1)
  48. 570     ENDIF
  49. 580   ENDIF
  50. 590 WEND
  51. 600 CLOSE #1
  52. 610 '
  53. 620 *VIL_L_BGN                                ' VIL リンク開始
  54. 630 ON ERROR GOTO 0
  55. 640 *VIL_L_BAS:                                                                    CHAIN MERGE VIL_DIR$+"VIL_BAS.BAS",*VIL_L_VWM,ALL,DELETE *VIL_L_BAS
  56. 650 *VIL_L_VWM:                                                                    CHAIN MERGE VIL_DIR$+"VIL_VWM.BAS",*VIL_L_UTY,ALL,DELETE *VIL_L_VWM
  57. 660 *VIL_L_UTY:                                                                    CHAIN MERGE VIL_DIR$+"VIL_UTY.BAS",*VIL_L_END,ALL,DELETE *VIL_L_UTY
  58. 670 *VIL_L_END                                ' VIL リンク終了
  59. 680 '
  60. 690 GOSUB *VIL_ERR_ON
  61. 700 GOSUB *VIL_DEFFN:GOTO *VIL_INITEND
  62. 710 '
  63. 720 *VIL_ERR_ON:ON ERROR GOTO *VIL_ERR:RETURN
  64. 730 *VIL_ERR:VIL_E%=ERR:RESUME NEXT
  65. 740 '
  66. 750 *VIL_DEFFN
  67. 760 '  S$:文字列に変換 SS$:左にスペースを詰める S0$:左に0を詰める
  68. 770 '  P :正の整数     I  :整数                 R  :実数
  69. 780 DEF FNVIL_P2S$(X&)       =MID$(STR$(X&),2)
  70. 790 DEF FNVIL_P2SS$(X&,Y%)   =RIGHT$("          "+STR$(X&),Y%)
  71. 800 DEF FNVIL_P2S0$(X&,Y%)   =RIGHT$("0000000000"+MID$(STR$(X&),2),Y%)
  72. 810 DEF FNVIL_I2S$(X&)       =MID$(STR$(X&),1-(X&>=0))
  73. 820 DEF FNVIL_I2SS$(X&,Y%)   =RIGHT$("          "+STR$(X&),Y%)
  74. 830 '符号1桁(+-) + 00… + 数値
  75. 840 DEF FNVIL_I2S0$(X&,Y%)   =MID$("+-",1-(X&<0),1)                                                       +RIGHT$("0000000000"+MID$(STR$(ABS(X&)),2)                                          ,Y%-1)
  76. 850 DEF FNVIL_R2S$(X#)       =MID$(STR$(X#),1-(X#>=0))
  77. 860 DEF FNVIL_R2SS$(X#,Y%,Z%)=RIGHT$("          "+STR$(FIX(X#)),Y%)+"."                                   +MID$("0000000000"+STR$(X#)+"0000000000"                                          ,INSTR("0000000000"+STR$(X#),".")+1,Z%)
  78. 870 DEF FNVIL_R2S0$(X#,Y%,Z%)=MID$("+-",1-(X#<0),1)+RIGHT$("0000000000"              +MID$(STR$(FIX(ABS(X#))),2),Y%-1)+MID$("0000000000"+STR$(X#)                 +"0000000000",INSTR("0000000000"+STR$(X#),".")+1,Z%)
  79. 880 RETURN
  80. 890 '
  81. 900 *VIL_INITEND
  82. 910 '--------------------  VIL組み込み終了 --------------------
  83.